Applications implemented on computing devices, such as mobile computing devices (e.g., smartphones, tablets, smart watches, etc.) have been developed for a variety of purposes, including business, social, health, and other purposes. These applications can provide a user interface (e.g., a graphical user interface) for presenting information to a user as well as allowing the user to interact with the application. Popular applications for mobile computing devices include map applications that make varied geographic information (e.g., current location information presented on a map) available to users.
Application programming interfaces can allow applications implemented on computing devices to interact with various services to provide information and functionality to a user. Application programming interfaces can provide a tool for developers to easily embed information, programming, services, frameworks, and structures into applications for access by the user.
In some cases, however, applications can have difficulty communicating with one another to request and/or retrieve desired data. Such an issue can arise when the separate applications are associated with different, heterogeneous data sets. For example, applications which are “place-centric” (e.g., travel, local search, social/events) frequently need to communicate with mapping applications in order to provide additional functionality (such as providing driving navigation). The places data used by the “place-centric app” is often not the same as the places data used by the mapping product. For example, a hotel finder application might know of “Grandma's Bed and Breakfast,” but when it communicates with a mapping application, there is no guarantee that the mapping application has data for the existence of that place.
Many applications today use latitude-longitude coordinates as “stable identifiers” to link from one application to another. However, latitude-longitude coordinates are often a “lossy transformation” (e.g., much less information is known about a latitude-longitude than is known about a specific place). In such a case, the mapping application may provide a less optimal user experience as a result (e.g. not routing to the correct entry point for a place, miscalculating ETA, not providing a good arrival experience).